<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // let arr = ['a','b','c','d'];

        // let obj = {
        //     name:"老王",
        //     age:18,
        //     sex:"男"
        // }

        // forEach
        // for
        // for in
        // for( item in arr){
        //     // console.log(item); //下标
        //     console.log(arr[item]); //值
        // }

        // for(let item in obj){
        //     console.log(item);
        //     console.log(obj[item]);
        // }

        // for( item of arr){
        //     // console.log(item); //值
        // }

        // obj is not iterable - for of 迭代器对象
        // for(let item of obj){
        //     console.log(item);
        // }

        // let arr2 =  arr.keys();
        // let arr3 = arr.values();

        // for(let item of arr3){
        //     console.log(item);
        // }


        // for of 


        // let arr = ['三国演义','红楼梦三','三西游记','三红楼梦','红楼三梦'];

        // let obj = {
        //     name:"老王",
        //     age:18,
        //     sex:"男"
        // }
        // map - 数组方法 - 遍历加工数组
        // let res = arr.map((item)=>{
        //     console.log(item);
        //     return `《${item}》`;
        // })

        // console.log(res);
        // console.log(arr);
    

        // find - 数组方法 - 值
        // let res = arr.find(item=>{
        //     console.log(item);
        //     // return item === '红楼梦';
        //     return item.includes('西')
        // })
        // console.log(res);

        // filter - 过滤、筛选
        // let res = arr.filter(item=>{
        //     console.log(item);
        //     return item === '红楼梦';
        // })
        // console.log(res);


        // every - 每一个 bool值 - 都必须符合条件 - true 其中有一个是false 就返回false。
        // let res = arr.every(item=>{
        //     console.log(item);
        //     // return false;
        //     // return undefined;
        //     return item.includes('三');
        // })

        // console.log(res);

        // some - 一些 - 返回bool值，如果有一个符合条件的就返回true，如果都不符合条件，就返回false；
        // let res = arr.some(item=>{
        //     console.log(item);

        //     return item.includes('红楼三梦');
        // })
        // console.log(res);


        // reduce  累计
        // let res = ['a','b','c','d'].reduce(item=>{
        //     console.log(item);
        //     return item+1;
        // },0)

        let arr= [1,2,3,4,5,6];

        let sum = arr.reduce((pre,item,index,arr)=>{
            // console.log(pre);
            // console.log(item);
            // console.log(index);
            // console.log(arr); //数组本身
            return pre+item;
        },0)

        console.log(sum);




        

        


    </script>
</body>
</html>